Recently, there are widely known semiconductor memory devices such as flash memory that stores information depending on a held charge amount. A multi-value memory technology for storing two bits or more of information by setting a plurality of thresholds of the charge amount is also developed.
In the semiconductor memory devices, electric charge is discharged with passage of time, and thus, if the charge is discharged more than the threshold, an error may occur when information is read. Particularly, a multi-value type of memory device has generally narrow intervals between thresholds, and this causes the probability of occurrence of an error to increase.
Japanese Patent Application Laid-Open No. 2007-87464 discloses a storage device, using the semiconductor memory device, which includes an error correction mechanism to correctly recover incorrect information.
A BCH code or an RS (Reed-Solomon) code is often used as the error correction code used to correct errors in the error correction mechanism. In a decoding process using the BCH code or the RS code, it becomes necessary to calculate an error locator. To calculate the error locator, a Chien search method is generally used.
However, a conventional Chien search circuit processes each one bit in an area which is known to have no error. Therefore, when a code length is large, it takes a long time to perform the Chien search.
The present invention has been achieved in view of the above problems, and an object of the present invention is to provide a Chien search device and a Chien search method capable of increasing a speed of performing the Chien search process.